#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main()
{
    //创建子进程，fork()是一个函数，函数执行前只有一个父进程，函数执行：父进程+子进程
    //创建成功后，会将子进程的PID返回父进程，0返回子进程
    //fork()之后，会有父子两个进程执行后代码，且后续代码被父子进程共享
    //我们通过返回值的不同，让父子进程各自执行共享代码的一部分，达到并发编程的效果
    pid_t id =fork();
    if(id == 0)
    {
        //子进程
        while(1)
          {
            printf("子进程,我的ID是:%d,父进程pid:%d,id:%d\n",getpid(),getppid(),id);
            sleep(1);
          }
    }
    else if(id > 0)
    {
        //父进程
       while(1)
         {
            printf("父进程,我的ID是:%d,父进程pid:%d,id:%d\n",getpid(),getppid(),id);
            sleep(2);
         }
    }
    else
    {

    }

   // while(1)
   // {
   //   printf("我是个进程,我的ID是:%d,父进程pid:%d\n",getpid(),getppid());
   //   sleep(1);
   // }
    return 0;
}
